class Solution {
        bool row[9][10];
        bool col[9][10];
        bool grid[3][3][10];
 
public:
    bool isValidSudoku(vector<vector<char>>& board) {
        for(int i = 0; i < 9; ++i)
        {
            for(int j = 0; j < 9; ++j)
            {
                if(board[i][j] != '.')
                {
                    int n = board[i][j] - '0';
                    if(row[i][n] || col[j][n] || grid[i / 3][j / 3][n])
                        return false;
                    row[i][n] = col[j][n] = grid[i / 3][j / 3][n] = true;
                }
            }
        }
        return true;
    }
};